package com.dao;

import java.util.List;
import java.util.Map;

public interface BaseDao<E,P> {
    //根据主键查询
    E getModel(P id);
    //根据条件查询
    List<E> getModelList(Map<String, Object> query);
    //根据id的集合查询
    List<E> getModelInList(Map<String, Object> query);
    //查询符合条件的实体数量
    Integer getModelListCount(Map<String, Object> query);

    //插入实体，不判空
    int insertModel(E model);


    //更新，如果字段为空，则更新为null
    int updateModel(E model);

    //根据主键删除一个实体 逻辑删除
    int deleteModelByPk(P id);

    //物理删除
    int delete(P id);
    //根据条件删除实体集合，请确保查询条件存在，否则会删除整张表数据
    int deleteModelList(Map<String, Object> query);




}
